#问题的起因见     1.回车跳过while循环的问题.py
#主要方法是使用了ord()和异常处理函数来规避了仅输入回车键带来的问题。
#对应的修改文件   4将已存在的xls文件用xlwt改写(解决全按回车会出现问题的问题).py
#编写时间2021-2-8 20:46
x=input()
#realKey列表中保存结束while循环的ord值。
realKey=[ord('y'),ord('Y'),ord('N'),ord('n')]
#print('需要的键值为:',realKey)

def whileFunc(FromKeyBoard):
    while ord(FromKeyBoard) not in realKey:
        print('输入yYNn退出while循环')
        FromKeyBoard=input()
        if ord(FromKeyBoard) in realKey:
            print('输入的值=',FromKeyBoard)
            break

def KeyIsEnter(GetKey):#此处Enter代表回车键的意思
    '''
    KeyIsEnter(GetKey)函数功能·：
        判断传入的是否为回车键，使用异常处理函数。
        实际上，仅仅是由于ord()无法转换回车键罢了。
    返回值：
        布尔值。若传入的为回车，则由except执行返回True。
                    若传入的不会回车，则由else执行返回False。
    传入参数:
        一个来自input()的值。
    '''
    try:
        print(ord(GetKey))
    except TypeError:
        return True
    else:
        return False

while KeyIsEnter(x):
    print('请不要只输入回车！')
    x=input()
    if KeyIsEnter(x)!=True:
        whileFunc(x)
        break
'''
以上的原型:
try:
    print(ord(x))
except TypeError:
    print('请不要只输入回车！')
    x=input()
    whileFunc(x)
else:
    whileFunc(x)
'''
    
print('程序已退出')
    
